package domain;

import data.JDBCActividadDAO;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;


public class ActividadStore {

    private static ActividadStore as;

    private Hashtable actividades;

    public static synchronized ActividadStore getInstance() {
        if (as == null)
            as = new ActividadStore();
        return as;
    }

    private ActividadStore() {
        List  retActividades = (new JDBCActividadDAO()).selectAllActividades();
        this.actividades = new Hashtable();
        Actividad actividadActual;
        for (Iterator iter = retActividades.iterator(); iter.hasNext();) {
            actividadActual = (Actividad) iter.next();
            this.actividades.put(actividadActual.getActividadOID(), actividadActual);
        }
    }

    public List getActividades() {
        // Con los elementos del hashtable creamos una lista, que podrá ser modificada sin afectar al hashmap original.
        List listActividades = new LinkedList(actividades.values());
        return listActividades;
    }

    public Actividad getActividad(String actividadOID) {
        return (Actividad) actividades.get(actividadOID);
    }
}
